package day03;

import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;

public class NioClient {
    public static void main(String[] args) throws IOException {
        //设定服务器的 地址 和 端口号
        InetSocketAddress address =
                new InetSocketAddress("localhost",8888);
        SocketChannel socketChannel = SocketChannel.open();
        //设置工作方式为非阻塞
        socketChannel.configureBlocking(false);
        //连接到 服务器 检查连接情况
        // connect 返回值为true表示连接成功，
        // 返回false表示连接失败，是非阻塞方法
        if(! socketChannel.connect(address)){
            //等待连接成功
            while (! socketChannel.finishConnect()){
                System.out.println("等待连接");
            }
        }
        // 向服务器发送数据
        String str = "Hello World!";
        //将字符串编码，并且存储到缓存中
        ByteBuffer byteBuffer = ByteBuffer.wrap(str.getBytes());
        //发送数据
        socketChannel.write(byteBuffer);
        socketChannel.close();
        System.out.println("Bye!");
    }
}
